<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="../css/reset.css">
    <style>
        .wrap {
            margin: 10px;
        }

        .list {
            margin-top: 10px;
            line-height: 40px;
            text-indent: 10px;
        }

        .list li {
            border: 1px dashed #333;
        }

        .list li+li {
            border-top: 0;
        }
    </style>
</head>

<body>
    <div class="wrap">
        <button>新增元素</button>
        <button>删除尾部元素</button>
        <ul class="list">
            <li>01</li>
            <li>02</li>
            <li>03</li>
            <li>04</li>
            <li>05</li>
            <li>06</li>
        </ul>
    </div>
</body>
<script>
    // 传统的获取元素的方法   =>  返回伪数组
    // 优点: 会随着页面同类型 同类名 同name的元素 增加或减少(导致页面回流) 自动更新集合 

    // document.getElementsByClassName()
    // document.getElementsByTagName()
    // document.getElementsByName()
    // parent.getElementsByClassName()
    // parent.getElementsByTagName() 

    // querySelectorAll    =>  返回伪数组
    // 优点: 以选择器(css2 css3)的形式获取元素, 比较简单 => 集合一经获取不会随页面元素增加减少改变 => 始终引用被获取的元素   => 如果你确定获取的元素不会增加或减少(页面定死的),可以使用querySelectorAll
    // document.querySelectorAll 




    // 点击 新增元素 按钮 => 创建一个li放到list中

    var addEle = document.getElementsByTagName("button")[0];
    var delEle = document.getElementsByTagName("button")[1];
    var ul = document.getElementsByClassName("list")[0];

    var liList = ul.getElementsByTagName("li"); //传统方法获取
    var lis = document.querySelectorAll(".list li");

    // console.log("传统:", liList);
    console.log("querySelectAll:", lis);

    addEle.onclick = function () {
        // 1. 创建一个li 
        var li = document.createElement("li");

        li.innerText = "我是新增的li";
        li.setAttribute("class", "newLi");
        li.style.backgroundColor = randColor();

        ul.appendChild(li);

        // console.log("传统:", liList);
        console.log("querySelectAll:", lis);
    }

    delEle.onclick = function () {
        ul.lastElementChild.remove();

        // console.log("传统:", liList);
        console.log("querySelectAll:", lis);
    }



    function randColor() {
        var colorStr = "0123456789abcdef";  // 16 

        var str = "#";
        for (var i = 0; i < 6; i++) {
            // var index = Math.round(Math.random() * (colorStr.length - 1));
            var index = Math.floor(Math.random() * colorStr.length);
            var char = colorStr.charAt(index);
            str += char;
        }
        return str;
    }





</script>

</html>